package com.orm.session;

import com.orm.mapping.Configuration;
import com.orm.pool.MyDataSource;

import javax.sql.DataSource;


/**
 * 根据数据库连接信息 ，使用连接池打开会话连接
 */

public class DefaultSqlSessionFactory implements SqlSessionFactory {
	protected Configuration config;
	protected DataSource dataSource; // 默认不使用这个数据源，而使用自己的简单数据源
	
	// 外部不要用这个构造
	protected DefaultSqlSessionFactory(){
	}
	
	public DefaultSqlSessionFactory(Configuration config) {
		this.config = config;
	}
	
	@Override
	public void setDataSource(DataSource dataSource) {
		this.dataSource = dataSource;
	}
	
	// 打开一个会话连接
	@Override
	public SqlSession openSession() {
		return new DefaultSqlSession(config,new MyDataSource(config.getEnv()));
	}
}
